In computer science a level set data structure is designed to represent discretely sampled dynamic level sets functions.
A common use of this form of data structure is in efficient image rendering. The underlying method constructs a signed distance field that extends from the boundary, and can be used to solve the motion of the boundary in this field.
Contents |
The powerful level set method is due to Osher and Sethian 1988 [1]. However, the straightforward implementation via a dense d-dimensional array of values, results in both time and storage complexity of , where is the cross sectional resolution of the spatial extents of the domain and is the number of spatial dimensions of the domain.
The narrow band level set method, introduced in 1995 by Adalsteinsson and Sethian [2], restricted most computations to a thin band of active voxels immediately surrounding the interface, thus reducing the time complexity in three dimensions to for most operations. Periodic updates of the narrowband structure, to rebuild the list of active voxels, were required which entailed an operation in which voxels over the entire volume were accessed. The storage complexity for this narrowband scheme was still Differential constructions over the narrow band domain edge require careful interpolation and domain alteration schemes to stabilise the solution.[3]
This time complexity was eliminated in the approximate "sparse field" level set method introduced by Whitaker in 1998 [4]. The sparse field level set method employs a set of linked lists to track the active voxels around the interface. This allows incremental extension of the active region as needed without incurring any significant overhead. While consistently efficient in time, storage space is still required by the sparse field level set method. See [5] for implementation details.
The sparse block grid method, introduced by Bridson in 2003 [6], divides the entire bounding volume of size into small cubic blocks of voxels each. A coarse grid of size then stores pointers only to those blocks that intersect the narrow band of the level set. Block allocation and deallocation occur as the surface propagates to accommodate to the deformations. This method has a suboptimal storage complexity of , but retains the constant time access inherent to dense grids.
The octree level set method, introduced by Strain in 1999 [7] and refined by Losasso [8], uses a tree of nested cubes of which the leaf nodes contain signed distance values. Octree level sets currently require uniform refinement along the interface (i.e. the narrow band) in order to obtain sufficient precision. This representation is efficient in terms of storage, and relatively efficient in terms of access queries,
The run-length encoding (RLE) level set method, introduced in 2004 [9], applies the RLE scheme to compress regions away from the narrow band to just their sign representation while storing with full precision the narrow band. The sequential traversal of the narrow band is optimal and storage efficiency is further improved over the octree level set. The addition of an acceleration lookup table allows for fast random access, where r is the number of runs per cross section. Additional efficiency is gained by applying the RLE scheme in a dimensional recursive fashion, a technique introduced by Nielsen's similar DT-Grid [10].
Corbett in 2005 [11] introduced the point-based level set method. Instead of using a uniform sampling of the level set, the continuous level set function is reconstructed from a set of unorganized point samples via moving least squares.